std::uniform_int_distribution
From Cppreference
| Defined in header <random>
| ||
| template< class IntType = int >
class uniform_int_distribution; | (C++11 feature) | |
Uniform random number distribution produces random integers i, uniformly distributed on the closed interval [a, b], that is, distributed according to the discrete probability function P(i|a,b) = 1/(b − a + 1).
Contents |
[edit] Member types
| Member type | Definition |
| result_type | the type of the result of operator(), equal to IntType |
| param_type | the type of the parameter set, unspecified |
[edit] Member functions
| constructs new distribution (public member function) | |
| resets the distribution state (no-op for uniform_int_distribution) (public member function) | |
| generates a new random number (public member function) | |
| returns the first parameter of the uniform_int_distribution parameter set (public member function) | |
| returns the second parameter of the uniform_int_distribution parameter set (public member function) | |
| get/set the parameter set (public member function) | |
| returns the inclusive lower bound of the distribution range (public member function) | |
| returns the inclusive upper bound of the distribution range (public member function) | |
[edit] Non-member functions
| compares two distributions (function template) | |
| serializes/deserializes the distribution's parameter set (function template) | |
[edit] Example
This program simulates throwing 6-sided dice.
#include <random> #include <iostream> int main() { std::random_device rd; std::mt19937 gen(rd()); std::uniform_int_distribution<> dis(1, 6); for(int n=0; n<10; ++n) std::cout << dis(gen) << ' '; std::cout << '\n'; }
Output:
1 1 6 5 2 2 5 5 6 2